package cn.com.dycc.sys_manage.usersysmanagement.entity;

import java.io.Serializable;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;

import cn.com.dycc.sys_manage.deptsysmanagement.entity.DeptInfo;
import cn.com.dycc.sys_manage.dictionarysysmanagement.entity.DictionaryInfo;
import cn.com.dycc.sys_manage.post.entity.PostInfo;
import cn.com.dycc.sys_manage.rolesysmanagement.entity.RoleUser;
import cn.com.dycc.sys_manage.t_class.entity.ClassInfo;




public class UserResult implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -482960277770899678L;
	
	private String id;                 //用户ID
	private String account;				//用户帐号
	private String wx_id;				//微信id
	private String wx_nickname;			//微信昵称
	private Date binding_date;			//微信绑定时间
	private String username;			//用户姓名
	private String nickname;			//用户昵称
	private String certificate;			//身份证
	private String card_no;				//工作卡编号
	private String addr;				//通信地址
	private Integer order_no;			//排列顺序
	private String political_status;	//政治面貌
	private Timestamp create_date;			//操作日期
	private String create_user;			//操作人
	private String state;				//可用标识
	private String org_id;				//组织标识
	private String update_date;			//创建时间
	private String update_user_id; 		//创建人
	
	private String mobile_tel;			/*20180725cxj新增字段*/
	private String home_tel;			 /*20180725cxj新增字段*/
	
	private UserChildAccountInfo userChildAccount; //用户子表
	private List<RoleUser> listRoleUser; 		//用户权限分配
	private DictionaryInfo dicState;   		//接收user信息表是否启用
	private DictionaryInfo dicPolitical_status;  //接收用户政治信息
	private UserInfo createUser;				//接收创建人
	private UserInfo updateUser;				//接收更新人
	private ClassInfo classNo;					//接收子表职务信息
	private PostInfo postNo;					//接收子表岗位信息
	private DeptInfo deptNo;					//接收子表部门信息
	private DeptInfo topDeptNo;				//接收子表上级部门信息	
	
	
	public UserResult(){}


	

	public UserResult(String id, String account, String wx_id, String wx_nickname, Date binding_date, String username,
			String nickname, String certificate, String card_no, String addr, Integer order_no, String political_status,
			Timestamp create_date, String create_user, String state, String org_id, String update_date,
			String update_user_id, UserChildAccountInfo userChildAccount, List<RoleUser> listRoleUser,
			DictionaryInfo dicState, DictionaryInfo dicPolitical_status, UserInfo createUser, UserInfo updateUser,
			ClassInfo classNo, PostInfo postNo, DeptInfo deptNo, DeptInfo topDeptNo) {
		super();
		this.id = id;
		this.account = account;
		this.wx_id = wx_id;
		this.wx_nickname = wx_nickname;
		this.binding_date = binding_date;
		this.username = username;
		this.nickname = nickname;
		this.certificate = certificate;
		this.card_no = card_no;
		this.addr = addr;
		this.order_no = order_no;
		this.political_status = political_status;
		this.create_date = create_date;
		this.create_user = create_user;
		this.state = state;
		this.org_id = org_id;
		this.update_date = update_date;
		this.update_user_id = update_user_id;
		this.userChildAccount = userChildAccount;
		this.listRoleUser = listRoleUser;
		this.dicState = dicState;
		this.dicPolitical_status = dicPolitical_status;
		this.createUser = createUser;
		this.updateUser = updateUser;
		this.classNo = classNo;
		this.postNo = postNo;
		this.deptNo = deptNo;
		this.topDeptNo = topDeptNo;
	}
	
	




	public UserResult(String id, String account, String wx_id, String wx_nickname, Date binding_date, String username,
			String nickname, String certificate, String card_no, String addr, Integer order_no, String political_status,
			Timestamp create_date, String create_user, String state, String org_id, String update_date,
			String update_user_id, String mobile_tel, String home_tel, UserChildAccountInfo userChildAccount,
			List<RoleUser> listRoleUser, DictionaryInfo dicState, DictionaryInfo dicPolitical_status,
			UserInfo createUser, UserInfo updateUser, ClassInfo classNo, PostInfo postNo, DeptInfo deptNo,
			DeptInfo topDeptNo) {
		super();
		this.id = id;
		this.account = account;
		this.wx_id = wx_id;
		this.wx_nickname = wx_nickname;
		this.binding_date = binding_date;
		this.username = username;
		this.nickname = nickname;
		this.certificate = certificate;
		this.card_no = card_no;
		this.addr = addr;
		this.order_no = order_no;
		this.political_status = political_status;
		this.create_date = create_date;
		this.create_user = create_user;
		this.state = state;
		this.org_id = org_id;
		this.update_date = update_date;
		this.update_user_id = update_user_id;
		this.mobile_tel = mobile_tel;
		this.home_tel = home_tel;
		this.userChildAccount = userChildAccount;
		this.listRoleUser = listRoleUser;
		this.dicState = dicState;
		this.dicPolitical_status = dicPolitical_status;
		this.createUser = createUser;
		this.updateUser = updateUser;
		this.classNo = classNo;
		this.postNo = postNo;
		this.deptNo = deptNo;
		this.topDeptNo = topDeptNo;
	}


	

	public String getMobile_tel() {
		return mobile_tel;
	}




	public void setMobile_tel(String mobile_tel) {
		this.mobile_tel = mobile_tel;
	}




	public String getHome_tel() {
		return home_tel;
	}




	public void setHome_tel(String home_tel) {
		this.home_tel = home_tel;
	}




	public String getId() {
		return id;
	}


	public void setId(String id) {
		this.id = id;
	}


	public String getAccount() {
		return account;
	}


	public void setAccount(String account) {
		this.account = account;
	}


	public String getWx_id() {
		return wx_id;
	}

	

	public DictionaryInfo getDicPolitical_status() {
		return dicPolitical_status;
	}




	public void setDicPolitical_status(DictionaryInfo dicPolitical_status) {
		this.dicPolitical_status = dicPolitical_status;
	}




	public void setWx_id(String wx_id) {
		this.wx_id = wx_id;
	}


	public String getWx_nickname() {
		return wx_nickname;
	}


	public void setWx_nickname(String wx_nickname) {
		this.wx_nickname = wx_nickname;
	}

	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	public Date getBinding_date() {
		return binding_date;
	}


	public void setBinding_date(Date binding_date) {
		this.binding_date = binding_date;
	}


	public String getUsername() {
		return username;
	}


	public void setUsername(String username) {
		this.username = username;
	}


	public String getNickname() {
		return nickname;
	}


	public void setNickname(String nickname) {
		this.nickname = nickname;
	}


	public String getCertificate() {
		return certificate;
	}


	public void setCertificate(String certificate) {
		this.certificate = certificate;
	}


	public String getCard_no() {
		return card_no;
	}


	public void setCard_no(String card_no) {
		this.card_no = card_no;
	}


	public String getAddr() {
		return addr;
	}


	public void setAddr(String addr) {
		this.addr = addr;
	}


	public Integer getOrder_no() {
		return order_no;
	}


	public void setOrder_no(Integer order_no) {
		this.order_no = order_no;
	}


	public String getPolitical_status() {
		return political_status;
	}


	public void setPolitical_status(String political_status) {
		this.political_status = political_status;
	}

	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	public Timestamp getCreate_date() {
		return create_date;
	}


	public void setCreate_date(Timestamp create_date) {
		this.create_date = create_date;
	}


	public String getCreate_user() {
		return create_user;
	}


	public void setCreate_user(String create_user) {
		this.create_user = create_user;
	}


	public String getState() {
		return state;
	}


	public void setState(String state) {
		this.state = state;
	}


	public String getOrg_id() {
		return org_id;
	}


	public void setOrg_id(String org_id) {
		this.org_id = org_id;
	}

	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	public String getUpdate_date() {
		return update_date;
	}


	public void setUpdate_date(String update_date) {
		this.update_date = update_date;
	}


	public String getUpdate_user_id() {
		return update_user_id;
	}


	public void setUpdate_user_id(String update_user_id) {
		this.update_user_id = update_user_id;
	}


	public UserChildAccountInfo getUserChildAccount() {
		return userChildAccount;
	}


	public void setUserChildAccount(UserChildAccountInfo userChildAccount) {
		this.userChildAccount = userChildAccount;
	}


	public List<RoleUser> getListRoleUser() {
		return listRoleUser;
	}


	public void setListRoleUser(List<RoleUser> listRoleUser) {
		this.listRoleUser = listRoleUser;
	}


	public DictionaryInfo getDicState() {
		return dicState;
	}


	public void setDicState(DictionaryInfo dicState) {
		this.dicState = dicState;
	}


	public UserInfo getCreateUser() {
		return createUser;
	}


	public void setCreateUser(UserInfo createUser) {
		this.createUser = createUser;
	}


	public UserInfo getUpdateUser() {
		return updateUser;
	}


	public void setUpdateUser(UserInfo updateUser) {
		this.updateUser = updateUser;
	}


	public ClassInfo getClassNo() {
		return classNo;
	}


	public void setClassNo(ClassInfo classNo) {
		this.classNo = classNo;
	}


	public PostInfo getPostNo() {
		return postNo;
	}


	public void setPostNo(PostInfo postNo) {
		this.postNo = postNo;
	}


	public DeptInfo getDeptNo() {
		return deptNo;
	}


	public void setDeptNo(DeptInfo deptNo) {
		this.deptNo = deptNo;
	}


	public DeptInfo getTopDeptNo() {
		return topDeptNo;
	}


	public void setTopDeptNo(DeptInfo topDeptNo) {
		this.topDeptNo = topDeptNo;
	}


	@Override
	public String toString() {
		return "UserResult [id=" + id + ", account=" + account + ", wx_id=" + wx_id + ", wx_nickname=" + wx_nickname
				+ ", binding_date=" + binding_date + ", username=" + username + ", nickname=" + nickname
				+ ", certificate=" + certificate + ", card_no=" + card_no + ", addr=" + addr + ", order_no=" + order_no
				+ ", political_status=" + political_status + ", create_date=" + create_date + ", create_user="
				+ create_user + ", state=" + state + ", org_id=" + org_id + ", update_date=" + update_date
				+ ", update_user_id=" + update_user_id + ", mobile_tel=" + mobile_tel + ", home_tel=" + home_tel
				+ ", userChildAccount=" + userChildAccount + ", listRoleUser=" + listRoleUser + ", dicState=" + dicState
				+ ", dicPolitical_status=" + dicPolitical_status + ", createUser=" + createUser + ", updateUser="
				+ updateUser + ", classNo=" + classNo + ", postNo=" + postNo + ", deptNo=" + deptNo + ", topDeptNo="
				+ topDeptNo + "]";
	}


	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}


	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		UserResult other = (UserResult) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}

	
	
	
}

